# 导入地图功能
from pyecharts.charts import Map
# 导入可视化地图选项,工具箱
from pyecharts.options import VisualMapOpts, ToolboxOpts
# 导入json模块
import json

# 读取文件成本获取数据
疫情文件 = open("/资料数据/疫情.txt", 'r', encoding='UTF-8')
# 获取全部数据
数据 = 疫情文件.read()
疫情文件.close()
# print(数据)

# 我们数据是json格式的,要转换成python格式的数据 (字典类型)
数据 = json.loads(数据)

# 初步截取  这里我们取河南省
数据 = 数据['areaTree'][0]['children'][3]['children']  # 取到列表方便下面循环
# print(数据)

绘图数据 = []
for 元素 in 数据:
    市名 = 元素['name'] + "市"
    # print(市名)
    确诊总人数 = 元素['total']['confirm']
    # print(确诊总人数)
    绘图数据.append([市名, 确诊总人数])


print(绘图数据)

# 生成地图
地图 = Map()

# 全局设置
地图.set_global_opts(
                   # 工具箱选项 这里是显示
                   toolbox_opts=ToolboxOpts(is_show=True),
                   # 开启地图颜色显示,并且分段数据不同颜色
                   visualmap_opts=VisualMapOpts(is_show=True,       # 是否显示
                                                is_piecewise=True,  # 是否分段
                                                # 分段显示标题 和 颜色
                                                pieces=[
                                                        {"min": 1,       "max": 99,     "label": "1-99人",    "color": "#ffff00"},
                                                        # {"min": 1001,    "max": 5000,    "label": "1001-5000人",  "color": "#ff9900"},
                                                        {"min": 100,    "max": 199,   "label": "100-199人", "color": "#ff6600"},
                                                        # {"min": 10001,   "max": 10_0000, "label": "10001-100000人", "color": "#ff3300"},
                                                        {"min": 200, "max": 299, "label": "200-299人", "color": "#ff0000"},
                                                                                        ]
                                                )
                    )

# 添加地图数据
地图.add("河南省疫情分布", 绘图数据, '河南')
# 输出地图
地图.render("河南省疫情分布.html")



